Conventional storage arrays implement a variety of stress tests. Large configurations create complexity issues that make testing more difficult. Factors that make testing more difficult include systems that have (i) a minimum two hosts or heterogeneous hosts, (ii) at least two storage arrays, (iii) a number of volumes and cross mappings across a number of hosts, (iv) a number of premium features enabled on each volume, and (v) a number of volume parameters such as (a) media scan settings, (b) a cache mode—write back/write through, (c) segment size, and (d) volume ownership.
Conventional testing implementations configure a setup to manually write a CLI (Command Line Interface) script file inline with the testing requirements. The script is executed with a script engine in an Enterprise Management Window. Time invested in understanding the requirements and writing a script is often substantial. A script for stress configuration often has more than 2000 lines of commands (considering arrays with 2048 volumes). This procedure is followed for each storage array and changes are made based on the complexity of each array. Any typographical error in the script can prove to be costly and can involve additional time to resolve the problem and run the script again.
Testing scripts can fail for one or more of the following reasons (i) typographical errors, (ii) duplication of volume numbering, (iii) volume number sequencing, and (iv) syntax issues. Even if none of the above errors occur, the objective of generating a setup configuration may not be met due to issues such as (i) creating more than required volumes per volume group, (ii) mapping volumes to a wrong host, (iii) capacity requirements not met with respect to the physical configuration, and (iv) incorrect drive selection.
Writing an initial CLI script for a particular configuration often involves many iterations of validation, execution and rectifying mistakes. Any issue encountered during the setup configuration involves lead time and causes time lost due to any of the errors listed. Such lead time can prove to be very costly in a large configuration setup. If the same procedure is extended for multiple configurations, the process can be time consuming.
The disadvantages of such conventional approaches involve the increase in the cycle time of the configuration. The CLI script generation is manual and therefore not foolproof. Such a manual process often leads to typographical errors. Time is lost correcting errors. A harness computer is needed to run the script, which depends on specific host software on the harness computer. Validation of requirements versus physical configuration also has to be done manually. Incorrect drive selection may lead to insufficient capacity while implementing the configuration.
It would be desirable to implement a system for testing a storage array that reduces errors associated with manual test implementations.